package com.whfc.wxmp.api.fvs.service;

import com.whfc.common.result.PageData;
import com.whfc.fvs.dto.FvsDeviceDTO;
import com.whfc.fvs.dto.FvsStreamDTO;
import com.whfc.fvs.dto.FvsTokenDTO;
import com.whfc.fvs.param.FvsDeviceListParam;

/**
 * @author qzexing
 * @version 1.0
 * @date 2021/12/15 16:44
 */
public interface WxFvsDeviceService {

    /**
     * 获取视频监控列表(分页)
     *
     * @param fvsDeviceListParam 查询监控列表参数
     * @return 视频监控列表
     */
    PageData<FvsDeviceDTO> list(FvsDeviceListParam fvsDeviceListParam);


    /**
     * 获取视频监控直播地址
     *
     * @param deviceId 设备ID
     * @return 视频监控流对象
     */
    FvsStreamDTO getStreamUrl(Integer deviceId);

    /**
     * 获取视频监控token
     *
     * @param deptId   组织机构ID
     * @param platform 监控平台
     * @return token
     */
    FvsTokenDTO getToken(Integer deptId, Integer platform);


    /**
     * 设备云台操作
     *
     * @param deviceId  设备ID
     * @param ptzOption 云台操作
     */
    void ptz(Integer deviceId, Integer ptzOption);
}
